package com.easysoft.framework.product.model;

import com.easysoft.commons.utils.JSONUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 产品表（产品及产权）
 *
 */
public class SysProduct implements Serializable {

    /** ID */
    private String id;

    /** 用户ID */
    private String userId;

    /** 商家ID */
    private String enterpriseId;

    /** 类别id */
    private String categoryId;

    /** 产品名称 */
    private String productName;

    /** 图片 */
    private String images;

    /** 证书编号 */
    private String identifier;

    /** 访问数 */
    private Integer visits;

    /** 类型(产品/产权) */
    private Integer type;

    /** 开始日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startDate;

    /** 过期日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endDate;

    /** 状态 */
    private Integer isStatis;

    /** OPERAREOR */
    private String operareor;

    /** CREATE_TIME */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /** 详细 */
    private String content;

    private static final long serialVersionUID = 1L;

    /**
     * returns the value of ID
     *
     * @return ID
     */
    public String getId() {
        return id;
    }

    /**
     * sets the value of ID
     *
     * @param id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 返回用户ID
     *
     * @return USER_ID
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /**
     * 返回商家ID
     *
     * @return ENTERPRISE_ID
     */
    public String getEnterpriseId() {
        return enterpriseId;
    }

    /**
     * 设置商家ID
     *
     * @param enterpriseId 商家ID
     */
    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    /**
     * 返回类别id
     *
     * @return CATEGORY_ID
     */
    public String getCategoryId() {
        return categoryId;
    }

    /**
     * 设置类别id
     *
     * @param categoryId 类别id
     */
    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    /**
     * 返回产品名称
     *
     * @return PRODUCT_NAME
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 设置产品名称
     *
     * @param productName 产品名称
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 返回图片
     *
     * @return IMAGES
     */
    public String getImages() {
        return images;
    }

    /**
     * 设置图片
     *
     * @param images 图片
     */
    public void setImages(String images) {
        this.images = images;
    }

    /**
     * 返回证书编号
     *
     * @return IDENTIFIER
     */
    public String getIdentifier() {
        return identifier;
    }

    /**
     * 设置证书编号
     *
     * @param identifier 证书编号
     */
    public void setIdentifier(String identifier) {
        this.identifier = identifier;
    }

    /**
     * 返回访问数
     *
     * @return VISITS
     */
    public Integer getVisits() {
        return visits;
    }

    /**
     * 设置访问数
     *
     * @param visits 访问数
     */
    public void setVisits(Integer visits) {
        this.visits = visits;
    }

    /**
     * 返回类型(产品/产权)
     *
     * @return TYPE
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置类型(产品/产权)
     *
     * @param type 类型(产品/产权)
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 返回开始日期
     *
     * @return START_DATE
     */
    public Date getStartDate() {
        return startDate;
    }

    /**
     * 设置开始日期
     *
     * @param startDate 开始日期
     */
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    /**
     * 返回过期日期
     *
     * @return END_DATE
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * 设置过期日期
     *
     * @param endDate 过期日期
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * 返回状态
     *
     * @return IS_STATIS
     */
    public Integer getIsStatis() {
        return isStatis;
    }

    /**
     * 设置状态
     *
     * @param isStatis 状态
     */
    public void setIsStatis(Integer isStatis) {
        this.isStatis = isStatis;
    }

    /**
     * returns the value of OPERAREOR
     *
     * @return OPERAREOR
     */
    public String getOperareor() {
        return operareor;
    }

    /**
     * sets the value of OPERAREOR
     *
     * @param operareor
     */
    public void setOperareor(String operareor) {
        this.operareor = operareor;
    }

    /**
     * returns the value of CREATE_TIME
     *
     * @return CREATE_TIME
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * sets the value of CREATE_TIME
     *
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 返回详细
     *
     * @return CONTENT
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置详细
     *
     * @param content 详细
     */
    public void setContent(String content) {
        this.content = content;
    }

    @Override
    public String toString() {
        return JSONUtils.object2Json(this);
    }
}